import { defineStore } from "pinia";


export const useStore = defineStore('abc', {
    // 相当于 vue 里面的 data 
    // 用来存放数据
    state() {
        return {
            list: [],
            todotype: '0'
        }
    },
    getters: {
        filteredTodoList(state) {
            if (state.todotype === '1') {
                // 返回 未完成的数据
                return state.list.filter((item) => item.isFinite === false)
            } else if (state.todotype === '2') {
                // 返回 已完成的数据
                return state.list.filter((item) => item.isFinite === true)
            } else {
                // 返回 全部
                return state.list
            }
        }
    },
    // 相当于 vue 里面的 methods 方法
    // 用于数据的操作
    actions: {
        add(text) {
            this.list.push({
                id: Date.now(),
                text,
                isFinite: false
            })
            // console.log(this.list);
        },
        find(id) {
            this.list.find((item) => item.id === id).isFinite = true
        },
        delete(id) {
            let a = this.list.findIndex((item) => item.id === id);
            this.list.splice(a, 1)
        },
        setFilterType(type) {
            // 修改 todotype
            // '0' => 全部
            // '1' => 未完成 
            // '2' => 已完成
            this.todotype = type
        }
    }
})